﻿using System;
using System.Collections.Generic;
using Prism.Events;

namespace MS.Common.Event
{
    public class MessageBoxEvent : PubSubEvent<Object> { }
    public class LoginEvent : PubSubEvent<Object> { }
    public class SwitchUserEvent : PubSubEvent<Object> { }

    public class LogoutEvent : PubSubEvent<Object> { }
    /// <summary>
    /// 窗体最小化
    /// </summary>
    public class MinimiEvent : PubSubEvent<Object> { }

    public class LogoutResultEvent : PubSubEvent<Object> { }

    public class LockEvent : PubSubEvent<Object> { }

    public class IconChangedEvent : PubSubEvent<Object> { }

    public class IconChanged4DetailEvent : PubSubEvent<Object> { }

    public class RescueEvent : PubSubEvent<Object> { }

    public class ExistEvent : PubSubEvent<Object> { }

    #region Frame

    public class AddMenuEvent : PubSubEvent<Object> { }
    public class AddMenuDetailEvent : PubSubEvent<Object> { }
    public class ClearMenuEvent : PubSubEvent<Object> { }
    public class ChangePetientEvent : PubSubEvent<Object> { }

    #endregion

    #region 扫描器/读卡器/指纹扫描相关

    public class BarcodeScannerChangedEvent : PubSubEvent<Object> { }

    public class ReadCardNoEvent : PubSubEvent<Object> { }

    public class FingerprintScannerStateChangedEvent : PubSubEvent<Object> { }
    public class GetFingerprintScannerTemplateEvent : PubSubEvent<Object> { }
    public class GetFingerprintScannerFeatureEvent : PubSubEvent<Object> { }
    public class GetFingerprintScannerImageEvent : PubSubEvent<Object> { }

    #endregion

    public class ShowDialogEvent : PubSubEvent<Object> { }
    public class DialogConfirmEvent : PubSubEvent<Object> { }
    public class DialogCancelEvent : PubSubEvent<Object> { }

    public class ShowProgressBarEvent : PubSubEvent<Object> { }
    public class HideProgressBarEvent : PubSubEvent<Object> { }

    public class StockTakeEvent : PubSubEvent<Object> { }
    public class ExpiryEvent : PubSubEvent<Object> { }

    public class StatusChangedEvent : PubSubEvent<Object> { }
    public class RecallEvent : PubSubEvent<Object> { }

    public class InpatientAreaChildEvent : PubSubEvent<Object> { }
    public class OperatingRoomChildEvent : PubSubEvent<Object> { }

    public class ShowLodingEvent : PubSubEvent<Object> { }
    public class ShowLodingCompleteEvent : PubSubEvent<Object> { }

    public class ShowMessageWindowEvent : PubSubEvent<Object> { }
    public class HideMessageWindowEvent : PubSubEvent<Object> { }
    public class YesMessageEvent : PubSubEvent<object> { };

    public class ShowConfirmMessageWindowEvent : PubSubEvent<Object> { }
    public class HideConfirmMessageWindowEvent : PubSubEvent<Object> { }
    public class ConfirmYesMessageWindowEvent : PubSubEvent<Object> { }

    public class ShowAutoHideMessageWindowEvent : PubSubEvent<Object> { }
    public class HideAutoHideMessageWindowEvent : PubSubEvent<Object> { }

    public class CurrentRecipelChanged : PubSubEvent<Object> { }

    public class DataConectionStateChanged : PubSubEvent<Object> { }

    public class MainWindowLoadingEvent : PubSubEvent<bool> { }
    /// <summary>
    /// 切换患者前
    /// </summary>
    public class PrePatientChangedEvent : PubSubEvent<Object> { }
    /// <summary>
    /// 切换患者后
    /// </summary>
    public class PatientChangedEvent : PubSubEvent<Object> { }
    /// <summary>
    /// 分诊患者列表选择改变事件
    /// </summary>
    public class TriagePatientChangedEvent : PubSubEvent<Object> { }
    /// <summary>
    /// 建档完成
    /// </summary>
    public class TriagePatientCreateEvent : PubSubEvent<Object> { }
    /// <summary>
    /// 编辑患者个人信息事件
    /// </summary>
    public class TriagePatientDataUpdateEvent : PubSubEvent<Object> { }

    /// <summary>
    /// 分诊评分改变事件
    /// </summary>
    public class TriageScoreChangedEvent : PubSubEvent<Object> { }
    /// <summary>
    /// 院前表单使用院内模板打印
    /// </summary>
    public class ScoreCallBackPrintEvent : PubSubEvent<Object> { }
    /// <summary>
    /// 出入量导入医嘱事件
    /// </summary>
    public class InOutPutOnRecordEvent : PubSubEvent<Object> { }
    /// <summary>
    /// 生命体征添加参数事件
    /// </summary>
    public class VitalSignAddParamEvent : PubSubEvent<Object> { }

    /// <summary>
    /// 分诊等级知识库双击带回信息
    /// </summary>
    public class TriageLevelKonwLedgeBackEvent : PubSubEvent<Object> { }

    /// <summary>
    /// 分诊界面弹出患者列表事件
    /// </summary>
    public class TriagePatientListOpenEvent : PubSubEvent<Object> { }
    /// <summary>
    /// 知识库操作完成事件
    /// </summary>
    public class KonwLedgeOperationCompletedEvent : PubSubEvent<Object> { }

    /// <summary>
    /// 护理单录入，病情观察写入事件
    /// </summary>
    public class NursingRecordWriteBackEvent : PubSubEvent<Object> { }
    /// <summary>
    /// 分诊界面评分变动事件
    /// </summary>
    public class TriageScoreChangeEvent : PubSubEvent<Object> { }

    /// <summary>
    /// 患者pvid切换事件
    /// 非患者列表切换患者时调用此事件
    /// pvid 为空时刷新患者列表
    /// </summary>
    public class PatPvidChanged : PubSubEvent<string> { }

    /// <summary>
    /// 患者pvid切换事件,状态也和pvid对应状态一致
    /// 非患者列表切换患者时调用此事件
    /// </summary>
    public class PatPvidAndStatusChanged : PubSubEvent<Object> { }

    /// <summary>
    /// 选择分诊去向返回信息（急门诊）
    /// </summary>
    public class ChooseTriageDirectionEvent : PubSubEvent<Object> { }

    /// <summary>
    /// 急门诊工作站接诊事件
    /// </summary>
    public class EmergencyInhouseEvent : PubSubEvent<Object> { }

    /// <summary>
    /// 选择工作站(医生)
    /// </summary>
    public class ChooseWorkStationEvent : PubSubEvent<Object> { }

    /// <summary>
    /// 患者诊断改变事件
    /// </summary>
    public class PatientDiagnoseChangedEvent : PubSubEvent<Object> { }


    /// <summary>
    /// 切换护理区域
    ///  2022年1月19日
    /// </summary>
    public class ChangeAreaEvent : PubSubEvent<Object> { }

    /// <summary>
    /// 显示护士站详情（V1版）  2022-04-28
    /// </summary>
    public class ShowPatDet : PubSubEvent<Object> { }

    /// <summary>
    /// 护理文书CA签名  2022-07-05
    /// </summary>
    public class NursingDocumentCASignEvent : PubSubEvent<Object> { }

    /// <summary>
    /// 表单调用JS接口 张又发 2023-11-01
    /// </summary>
    public class InvokeJSInterfaceEvent : PubSubEvent<string[]> { }

    #region 系统设置
    /// <summary>
    /// 锁屏设置
    /// </summary>
    public class SetLockScreenConfig : PubSubEvent<Object> { }


    /// <summary>
    /// 床位卡生命体征
    /// </summary>
    public class SeBedVitalSignsConfig : PubSubEvent<Object> { }

    /// <summary>
    /// 修改基本信息
    /// </summary>
    public class ChangeCurrUserEvent : PubSubEvent<Object> { }

    #endregion

    #region RFID绑定腕带
    /// <summary>
    /// RFID读卡监听
    /// </summary>
    public class RFIEReadCardEvent : PubSubEvent<List<string>> { }

    #endregion
}
